package com.ruoyi.resume.enums;

import lombok.AllArgsConstructor;
import lombok.Data;

/**
 * 人岗匹配相关提示词
 * */
@AllArgsConstructor
public enum MatchPrompt {
    MATCH_PROMPT("请严格根据现有标签体系，从岗位描述中提取匹配的标签,禁止自行添加标签体系之外的标签,请按以下步骤执行：\n" +
            "1. 仔细解析岗位描述中的关键信息，包括硬性条件（学历、经验等）\n" +
            "2. 将提取的关键词与现有标签体系逐项比对,仅保留相关匹配项,即标签体系中有的标签(注意:用标签体系中的标签值替换保留的关键字);\n" +
            "3. 学历、经验两个标签需特殊处理(如果有涉及到),例如：本科学历——#学历:本科#,3年工作经验——#工作经验:3年#\n" +
            "4. 硬性条件必须用#包裹（例：#学历:硕士#/#应届生#），其他标签保持原格式；\n" +
            "\n" +
            "岗位描述：{{%s}}\n" +
            "现有标签体系：{{%s}}\n" +
            "\n" +
            "请按指定格式返回结果(标签集合需用@@包夹,标签之间以逗号分隔,前后不要添加空格)，示例：\n" +
            "\"@Python,机器学习,#学历:博士#,#工作经验:2年#@\"\n" +
            "\"@#学历:硕士#,数据分析,MySQL@\"\n" +
            "错误案例解析：\n" +
            "输入：'需要熟悉Python、算法和机器学习' \n" +
            "错误输出：@Python,算法,机器学习@(假设'机器学习'不在标签体系中)\n" +
            "错误输出：@Python,算法@(假设算法在标签体系中的标签值为算法工程)\n"+
            "正确输出：@Python,算法工程@\n"+
            "注意:只需要结果，无需分析过程"),
    MATCH_PROMPT1("请严格根据现有标签体系，从岗位JD中提取匹配的标签及其权重[请根据岗位特点研判],禁止自行添加标签体系之外的标签\n" +
            "注意,学历和工作经验两个硬性标签无需权重,且格式应为(#学历:本科,#工作经验:2年)的形式\n" +
            "岗位JD：{{%s}}\n" +
            "现有标签体系：{{%s}}\n" +
            "请按指定格式返回结果(标签集合需用@@包夹,标签之间以逗号分隔,前后不要添加空格),示例：\n" +
            "\"@Python:0.8,机器学习:0.6,#学历:本科,#工作经验:2年@\"\n" +
            "注意:只需要结果，无需分析过程"),
     MATCH_PROMPT2("请严格根据现有标签体系，从岗位JD中提取匹配的标签及其权重(请根据岗位特点研判,侧重点方向的标签权重需要倾斜),禁止自行添加标签体系之外的标签\n" +
             "注意,学历和工作经验两个硬性标签无需权重,且格式应为(#学历:本科,#工作经验:2年)的形式\n" +
             "岗位JD：{{%s}}\n" +
             "现有标签体系：{{%s}}\n" +
             "侧重点：{{%s}}\n" +
             "请按指定格式返回结果(标签集合需用@@包夹,标签之间以逗号分隔,前后不要添加空格),示例：\n" +
             "\"@Python:0.8,机器学习:0.6,#学历:本科,#工作经验:2年@\"\n" +
             "注意:只需要结果，无需分析过程"),

     VISUAL_PROMPT("\"根据以下数据生成一个美观的HTML网页，展示岗位匹配分析结果:\\n\\n\" +\n" +
             "        \"岗位名称: %s\\n\\n\" +\n" +
             "        \"岗位描述:\\n%s\\n\\n\" +\n" +
             "        \"岗位标签及权重:\\n%s\\n\\n\" +\n" +
             "        \"基本要求:\\n%s\\n\\n\" +\n" +
             "        \"匹配简历:\\n%s\\n\\n\" +\n" +
             "        \"要求:\\n\" +\n" +
             "        \"1. 使用现代化的HTML5和CSS3设计\\n\" +\n" +
             "        \"2. 包含岗位描述、岗位标签和匹配简历(id,得分,标签)三部分\\n\" +\n" +
             "        \"3. 技能标签按权重高亮显示\\n\" +\n" +
             "        \"4. 简历按匹配度排序并显示匹配分数\\n\" +\n" +
             "        \"5. 响应式设计，适配不同设备\\n\" +\n" +
             "        \"只返回HTML代码，不要包含任何解释或Markdown标记\"");
     private final String prompt;

     public String getPrompt() {
         return prompt;
     }
}
